namespace Pinwheel.Kernel
{
    public interface IMessageQueue<TMessage>
    {
        int Count { get; }
        void Enqueue(TMessage message);
        bool TryPeek(out TMessage message);
        bool TryDequeue(out TMessage message);
    }
}